home *** CD-ROM | disk | FTP | other *** search
- I gave up waiting for a G4 card and finally got a replacement for my dead
- CSPPC card. Now I'm updating some of my previous work.
-
- Note that the current development has been done under AmigaOS 3.9, and
- WarpOS version 16 of the PowerPC.library (version 5.0 of Warp.library).
- I haven't tested this under earlier versions, but don't believe I've
- made any changes that would cause a failure under earlier systems.
-
-
- This archive SManMOSB2.lha contains the following files:
-
- 1) This ReadMe.First file
- 2) SMan.guide (It hasn't been revised and may not be accurate.)
- 3) SManMOS and SManMOS.info
-
- In the Source directory
- 4) SManMOS.c This and TGmos.asm provide a kludge to determine CPU
- clock frequency.
- 5) Packer.c
- 6) Save.c
- 7) LUP2.c (C source for the algorithm than handles fractional powers,
- and powers greater than 7.
- 8) ULP2mos.asm - ULP7mos.asm (asm source for the Mandelbrot algorithm,
- that decides on the pixel color)
- 9) TGMos.asm Does timing.
- 10) LinkMOS Used instead of a makefile.
-
- The following in the Source directory are not actually used in this release,
- but were part of the development process. They aren't included here, but
- are available in the SManWOSB2.lha archive.
-
- ULP2.c Handled the n = 2 part of the Mandelbrot algorithm.
- ULP2.asm.org The output of vbcc from ULP2.c
- UseLib.c Not actually used in this version, but was a part of
- earlier versions. It has been used as a model for ULP3.asm through
- ULP7.asm.
-
- The source directory has only been included for educational purposes.
-
- There are certain differences between assembler directives for MorphOS
- and WarpOS PPC code, at least with vbcc. I learned those differences by
- using vbcc to produce the assembler code and comparing it with that for
- WarpOS. Most notably, register names are only identified by number, and
- not type. For example, both r1 and f1 are simply 1. Which kind is
- determined by context. For example, fmul 1,2,1 instead of fmul f1,f2,f1,
- or addi 1,1,3 instead of addi r1,r1,3.
-
- Note that this is my first release of anything that runs under MorphOS.
- Note also that I've been using vbcc for the MorphOS version of SMan.
- Save.c (and possibly Packer.c) contains includes probably not in the
- standard include:, which was from Sas version 6.58 for me.
-
-
- My special thanks to the following people/companies that have made this
- possible:
-
-
- Phase 5 for having designed the CyberStormPPC that I'm using in this
- development (and DCE for making the replacement card). We need
- companies to continue with hardware manufacture for the Amiga.
-
- The MorphOS team for releasing the beta versions of MorphOS. Special
- thanks to Frank Mariak for his always helpful answers to my questions.
-
- Frank Wille for the release of the MorphOS versions of vbcc, and his
- help in the details of linking assembler code with C code using it.
-
- Note that before starting on the conversion for SMan to WarpOS, I'd
- never done any assembler programming for the PowerPC chip. My work
- on this was done by starting with the asm code generated by vbcc and
- editing it to work more efficiently than that generated by vbcc.
- This has provided a significant, although not overwhelming
- improvement in speed. That is, image generation is typically
- between 3 and 4 times as fast with the tweaked assembler code, as
- otherwise. This may still not be as fast as Cybermand(I assume by
- Sam Jordan, or his colleagues), but is reasonably fast, and should
- work on the Workbench with any color depth. I don't have an AGA
- Amiga and don't know about whether it works in that mode, but it does
- work in any CyberGraphX mode, and even works with 16 color NTSC High
- Res Laced. I wouldn't recommend that though, as it's so much slower
- than CyberGraphX, not to mention the limitation in colors.
- Futhermore, it's limited to one palette, and a rather poor one at
- that.
-
- The assembler work has been extended to include z^n + z -> z for
- n < 8 algorithms. LUP2.c has not been converted, as the biggest
- slow-down is with the transcendental functions (primarily arctan), and
- it's unlikely that I could improve that significantly over the math
- library used by MorphOS.
-
- Note that I'd also like to thank CyberGraphX, and especially Frank
- Mariak, who has always been helpful in answering questions about
- CyberGraphics.
-
- Note that when using a Workbench with a CyberGraphX screen of more
- than 8 bit depth, the image is displayed only when the complete image
- has been generated within a buffer, whereas with a depth of 8 or less,
- the image is updated at the end of each scan line within the window.
- In the former case, the function WritePixelArray is used to display
- the image, and in the latter, WritePixelLine8 is used.
-
- Please tell me whether or not SManMOSB2 works on your system.
- I would be interested as to whether it works on other PowerPC cards
- than those by Phase 5 as well.
-
- Note that all timing for the generation of the image is only for processing
- time, and not display time.
-
-
-
- E-mail to me (dmckinstry@ewu.edu) any reports, questions, etc.
-
- Thanks,
-
- Dave McKinstry
-